package util;

import org.apache.commons.collections.map.HashedMap;
import org.slf4j.LoggerFactory;

import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created by wrh on 17-10-3.
 */
public class RegexUtil {

    private static final org.slf4j.Logger logger = LoggerFactory.getLogger(RegexUtil.class);

    /**
     * 判断书否匹配字符串
     * @param content 全部字符串
     * @param pattern 需要进行判断的字符串
     * @return 如果匹配,返回第一次匹配在content中的起始位置;否则返回null
     */
    public static Map inContentStart(String content, String pattern){
        logger.info("判断字符串匹配开始");
        Pattern pt= Pattern.compile(pattern);
        Matcher mt=pt.matcher(content);
        int start;
        int end;
        while(mt.find()){
            start=mt.start();end=mt.end();
            logger.info(mt.group(0)+"|||"+mt.start()+"|||"+mt.end());
            Map<String ,Integer> map = new HashedMap();
            map.put("start",start);
            map.put("end",end);
            logger.info("判断字符串匹配结束");
            return map;
        }
        logger.info("判断字符串匹配结束");
        return null;
    }

    /**
     * 去除字符串中相邻且相同的字符串
     * @param s 需要进行去重的字符串
     * @return 去重后字符串
     */
    public static String  removeSame(String s){
        char[] chars = new char[s.length()];
        String result="";
        for (int i=0;i<s.length();i++){
            chars[i]=s.charAt(i);
        }
        for (int i=1;i<s.length();i++){
            if (chars[i]==chars[i-1]) {
                chars[i-1] = ' ';
            }
        }
        for (int i=0;i<s.length();i++){
            if (chars[i]!=' ')
                result+=chars[i];
        }
        return result.trim();
    }
}
